package com.spic.business.plan.drill.mapper;

import java.util.List;
import com.spic.business.plan.drill.domain.PlanDrillPlan;
import com.spic.business.plan.drill.domain.PlanDrillPlanDetail;

/**
 * 应急预案演练计划Mapper接口
 * 
 * @author spic
 * @date 2021-10-15
 */
public interface PlanDrillPlanMapper 
{
    /**
     * 查询应急预案演练计划
     * 
     * @param id 应急预案演练计划主键
     * @return 应急预案演练计划
     */
    public PlanDrillPlan selectPlanDrillPlanById(Long id);

    /**
     * 查询应急预案演练计划列表
     * 
     * @param planDrillPlan 应急预案演练计划
     * @return 应急预案演练计划集合
     */
    public List<PlanDrillPlan> selectPlanDrillPlanList(PlanDrillPlan planDrillPlan);

    /**
     * 新增应急预案演练计划
     * 
     * @param planDrillPlan 应急预案演练计划
     * @return 结果
     */
    public int insertPlanDrillPlan(PlanDrillPlan planDrillPlan);

    /**
     * 修改应急预案演练计划
     * 
     * @param planDrillPlan 应急预案演练计划
     * @return 结果
     */
    public int updatePlanDrillPlan(PlanDrillPlan planDrillPlan);

    /**
     * 删除应急预案演练计划
     * 
     * @param id 应急预案演练计划主键
     * @return 结果
     */
    public int deletePlanDrillPlanById(Long id);

    /**
     * 批量删除应急预案演练计划
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePlanDrillPlanByIds(Long[] ids);

    /**
     * 批量删除应急预案计划演练明细
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePlanDrillPlanDetailByDrillPlanIds(Long[] ids);
    
    /**
     * 批量新增应急预案计划演练明细
     * 
     * @param planDrillPlanDetailList 应急预案计划演练明细列表
     * @return 结果
     */
    public int batchPlanDrillPlanDetail(List<PlanDrillPlanDetail> planDrillPlanDetailList);
    

    /**
     * 通过应急预案演练计划主键删除应急预案计划演练明细信息
     * 
     * @param id 应急预案演练计划ID
     * @return 结果
     */
    public int deletePlanDrillPlanDetailByDrillPlanId(Long id);



    /**
     * 查询应急预案演练计划详情
     *
     * @param id 查询应急预案演练计划详情主键
     * @return 应急预案演练计划详情
     */
    public PlanDrillPlanDetail selectPlanDrillPlanDetailById (Long id);
}
